

#include "ThreadPool.hpp"
#include "Task.hpp"
#include "Log.hpp"
// #include <memory>

using namespace log_ns;

int main()
{
    EnableScreen();
    // std::unique_ptr<ThreadPool> tp = std::make_unique<ThreadPool>();
    // ThreadPool<Task>* tp = new ThreadPool<Task>();
    // tp->Init();
    // tp->Start();

    int cnt = 10;
    while (cnt--)
    {
        // 不断的向线程池推送任务 
        sleep(1);
        Task t(1, 1);
        ThreadPool<Task>::GetInstance()->Equeue(t);
        LOG(INFO, "Equeue a task: %s\n", t.debug().c_str());
    }

    ThreadPool<Task>::GetInstance()->Stop();
    LOG(INFO, "thread pool stop\n");

    sleep(10);

    return 0;
}

